
                       ############################
                      /                            \
                     #      'Final Fantasy VI'      #
                     #                              #
                     #  ~~Character Level Control~~ #
                      \                            /
                       ############################

                       
                       
+-----------------+                                        +-------------+
|TABLE OF CONTENTS|                                        |SUMMARY      |
+-----------------+----------------------------------------+-------------+
|a01. PATCHING INSTRUCTIONS                                |PATCHING     |
+----------------------------------------------------------+-------------+
|b02. HOW TO USE                                           |PATCH USE    |
+----------------------------------------------------------+-------------+
|c03. RECOGNITION AND SALUTATIONS                          |THANKS       |
+----------------------------------------------------------+-------------+
|d04. PURPOSE OF MODIFICATION                              |EXPLANATION  |
|d05. HOW THIS HACK WAS ACCOMPLISHED                       |             |
+----------------------------------------------------------+-------------+
|e06. USE AS YOU SEE FIT                                   |DISCLAIMER   |
+----------------------------------------------------------+-------------+
==========================================================================
+------------------------------------------------------------------------+
|a01. PATCHING INSTRUCTIONS                                              |
|                                                                        |
|1. Acquire a clean unheadered American release of the Final Fantasy VI  |
|   ROM for the SNES.                                                    |
|     We used "Final Fantasy III v1.1" as a base;                        |
|       For those who are unaware, Final Fantasy VI was released in the  |
|       US as "Final Fantasy III", hence the name discrepancy.           |
|2. Acquire an SNES emulator.                                            |
|     We tested this modification on both SNES 9x and Mesen;             |
|3. Download an IPS patching program.                                    |
|     We used LunarIPS;                                                  |
|4. Run LunarIPS and apply the patch included with this file on the      |
|   Final Fantasy VI ROM that you acquired in step 1.                    |
|5. Run the ROM with your favorite emulator or use real hardware.        |
+------------------------------------------------------------------------+
==========================================================================
+------------------------------------------------------------------------+
|b02. HOW TO USE                                                         |
|                                                                        |
|'Resetting Character Level'                                             |
|When in the status screen of any character in Final Fantasy VI, simply  |
|press LEFT on the D-PAD, START and the X-button simultaneously.  Doing  |
|so will reset that character's level to 1.  This causes the following   |
|to occur:                                                               |
| 1. Character's level is reset to 1 and XP to 0;                        |
| 2. HP and MP maximums are set to their level 1 amounts;                |
| 3. HP and MP are restored to the new maximum;                          |
| 4. The four stats of Vigor, Speed, Stamina, and Mag.Pwr are reset to   |
|    the character's base amount;                                        |
| 5. None of the character's naturally learned talents or Esper magic is |
|    unlearned.                                                          |
|                                                                        |
|'Adding to Character Level'                                             |
|When in the status screen of any character in Final Fantasy VI, simply  |
|press RIGHT on the D-PAD, START and the Y-button simultaneously.  Doing |
|so will add 1 level to that character's current level.  This causes the |
|following to occur:                                                     |
| 1. Character's level adds 1 to whatever their current level is;        |
| 2. Character's XP becomes the minimum required for that level;         |
| 3. The character is checked to determine if they are already level 99  |
|    and if they are, the process is aborted;                            |
| 4. Equipped Esper's boosts are included in the increased level;        |
| 5. While maximum HP and MP are tweaked by the level up code, the       |
|    current amounts are left alone.  You might need an inn afterward;   |
| 6. If there are side effects as to character's natural talents, these  |
|    are *skipped* by this process.  Sorry about that.                   |
|                                                                        |
|To summarize how to affect character levels:                            |
| Resetting Character Level = 'D-pad Left'  + 'Start' + 'X'              |
| Adding to Character Level = 'D-pad Right' + 'Start' + 'Y'              |
|                                                                        |
|With either combination, you do not need to press all three buttons at  |
|the exact same time with one single press.  Since pressing any of those |
|buttons in the status screen does nothing at all, you can hold one      |
|button down while you then navigate to press the other two.             |
+------------------------------------------------------------------------+
==========================================================================
+------------------------------------------------------------------------+
|c03. RECOGNITION AND SALUTATIONS                                        |
|                                                                        |
|This modification was authored by FatRatKnight.                         |
|This readme was written by FatRatKnight and edited by Phaxuji.          |
|                                                                        |
|Also, compliments to the Data Crystal ROM map (presently located at     |
|https://datacrystal.romhacking.net/wiki/Final_Fantasy_VI/ROM_map ) for  |
|helping me find what I need.  The notes were good enough that I didn't  |
|need to spend hours diving into the rabbit hole of analyzing level up   |
|code when the functions were already broken up in easy pieces with      |
|useful comments.  And the RAM map helped (I sort of need to know what   |
|stats I'm tweaking).                                                    |
+------------------------------------------------------------------------+
==========================================================================
+------------------------------------------------------------------------+
|d04. PURPOSE OF MODIFICATION                                            |
|                                                                        |
|After releasing the level reset code hack (presently located at         |
|https://www.romhacking.net/hacks/7933/ ), I was requested to provide a  |
|level up code hack.  Well, here we are.  It was simplest to just keep   |
|the first level reset button code and then include an additional        |
|combination in one hack (I didn't want to worry about any sort of       |
|patching collisions).  And frankly, if you didn't want one button code, |
|you could simply... not do it?                                          |
|                                                                        |
|There were some small complications this time (like not finding my old  |
|stuff fully intact), however, there were still some pieces I was able   |
|to work from, so at least I didn't need to rework everything from       |
|scratch.  Besides, it wasn't a long project, so no huge loss either     |
|way.                                                                    |
+------------------------------------------------------------------------+
==========================================================================
+------------------------------------------------------------------------+
|d05. HOW THIS HACK WAS ACCOMPLISHED                                     |
|                                                                        |
|The code takes up 4 bytes at $C2FAAE as a long redirect to a short      |
|function and a whole bunch of bytes at $C3F091 for the main code.  And, |
|of course, I hook the code in from $C321F5, which is where the game     |
|sits on the status screen.                                              |
|                                                                        |
|I selected button combinations on the controller that don't seem to do  |
|anything at all on the status screen.  Of the twelve buttons that exist |
|on a standard SNES controller, seven of them did indeed appear to be    |
|occupied, but as a result that left five of them that were free to use. |
|I made my selection (as per the instructions above) by determining that |
|combining any three of those abandoned five shouldn't cause any         |
|conflicts.  Likewise, it should be difficult to accidentally activate.  |
|
|If you do end up somehow accidentally resetting your character's level  |
|(or inadvertently adding one), then I'm sorry for your inconvenience,   |
|but I would also question how you managed to press buttons in such a    |
|specific circumstance without meaning to.                               |
+------------------------------------------------------------------------+
==========================================================================
+------------------------------------------------------------------------+
|e06. USE AS YOU SEE FIT                                                 |
|                                                                        |
|Use this modification as you see fit.  This modification can be         |
|included and used with any other modifications.  No guarantees are      |
|implied as to its effectiveness.  This modification has not been tested |
|with any other.  Authors of their own modifications may feel free to    |
|use this one as they see fit.  No credit is necessary.                  |
+------------------------------------------------------------------------+